In a communication network where a series of nodes are interconnected via various communication links, calls are established in the network by routing a connection through the network from an ingress node to an egress node. The calls may be established by an operator at a network management terminal connected to the network.
In an ATM network, several types of calls may be established, with each call having distinctive characteristics. A permanent virtual circuit (PVC) establishes a permanent connection from an ingress node to an egress node. At each node in the connection, a permanent bearer channel cross-connection is established by the network management terminal, which decides the route and manually configures each cross-connection at each node in the connection. Meanwhile, a soft permanent virtual circuit (SPVC) comprises a series bearer channel paths that are interconnected through “switched” (i.e. on-demand) bearer channel cross-connections made across a series of nodes. Specifically, the ingress and egress nodes are typically provisioned at the network management terminal by a network operator, but the cross-connects for a node are commissioned via signalling through the network. Accordingly, a SPVC is signalled and routed across the network from the ingress node to the egress node. Next, a switched virtual connection (SVC) is a path that is signalled from a user at the ingress node of the network to a user at the egress node. The route of the SVC path is determined by the nodes as the path is signalled from the source node towards the destination node in the network. The individual cross-connects for the SVC path are configured and connected by call control software operating on each node along the path as the connection routes itself through the network. Routing tables for connected nodes resident on each node allow the call to be established by hop-by-hop routing. Alternatively, a predetermined route may be specified in the connection request to provide source-routing. It will be appreciated that the term “bearer channel” is synonymous with a communication channel.
For an ATM call, an ATM service category defines traffic contract parameters and quality of service (QoS) characteristics for the call, thereby enabling different calls to have different levels of priority and performance. QoS parameters include the cell loss ratio (CLR) and the cell delay variation (CDV) for a call. Defined service categories, known in the art, are:                Constant Bit Rate (CBR), which is suitable for real-time data transmission, e.g. video, requiring a fixed amount of bandwidth provided at regular intervals;        Real-time Variable Bit Rate (rt-VBR), which is suitable for for time-sensitive data traffic requiring a low CLR;        Non-real-time Variable Bit Rate (nrt-VBR), which is useful for data traffic having no constraints on CDV but having a variable transmission rate between the standard rate and the peak rate;        Available Bit Rate (ABR), which is useful for calls which require a low CLR but may tolerate a high CDV. Typically, minimal network resources are made available to an ABR connection. Calls in the ABR category are typically fulfilled by the network on a “best-effort” basis when higher priority calls do not supercede the ABR call; and        Unspecified Bit Rate (UBR), which is useful for calls which do not need low CLR nor CDV. As with ABR calls, UBR calls are typically serviced on a “best effort” basis.        
In an ATM network, nodes are connected to each other through a series of physical communication links. As calls are routed through the network, a virtual path (VP) for the call is established through the nodes and their associated communication links. Within the virtual path, a series of virtual circuits (VCs) are typically provided, thereby ensuring that a given VP may be associated with several VCs, i.e. SVC, PVC and SPVCs. At each node, each VP/VC set is identified by a VPI/VCI address identifier.
Between a source node and a destination node, several connection types (SVC, PVC, SPVC etc.) may exist. The connection types are asssociated with particular ports on the source and destination nodes. Ports may be partitioned into sections, referred to as trunk groups. Accordingly, a trunk group may have several partitions each of which define a separate service category and connection type.
When a connection is routed from the source node to the destination node, a trunk group must be selected to carry the data traffic of the connection. In the prior art, when a SVC or a SPVC is being routed from a source node to a destination node, at the source node, the trunk group having a partition which meets the call requirements would be selected. When two or more trunk groups meet the call requirements, prior art solutions have implemented the following systems to distribute traffic amongst the trunk groups and or the partition:                (a) a round-robin algorithm;        (b) a randomizing algorithm;        (c) an algorithm utilizing the administrative weight (cost) of each group;        (d) an algorithm utilizing the current available bandwidth; and        (e) an algorithm utilizing the maximum available bandwidth.However, these algorithms do not consider the bandwidth allocation of each trunk group based on utilization. Consequently, a trunk group with higher utilization than its peer trunk groups may become unnecessarily overloaded, which may lead to undesirable congestion and cell loss.        
Thus, there is a need for a system and method for selecting a trunk group amongst communication links which considers utilization in the prior art system to attempt to reduce overload.